package oopday02;

//此类用于验证继承
// 作用： 代码的复用
//  - 通过extends实现继承
//  - 超类/基类/父类：共有的属性和行为
//  - 派生类/子类：特有的属性和行为
//  - 派生类可以访问：超类的+派生类的，超类不能访问派生类的
//  - 一个超类可以有多个派生类，一个派生类只能有一个超类---------单一继承
//  - 具有传递性
public class Student extends Person {
    //1.声明子类特有的成员变量
    String className;
    String stuID;
    //3.声明构造方法
    //3.1无参构造方法
    Student(){
    }
    //3.2全参构造方法
    Student(String name,int age,String address,String className, String stuID){
        super(name,age,address);        //调用父类的全参构造
        this.className = className;     //使用局部变量赋值成员变量
        this.stuID = stuID;
    }


    //2.声明子类特有的方法
    void study(){
        System.out.println(name+"正在学习");
    }

    //重写sayHi()方法，满足Student类的个性化需求
    //重写要求：方法名和参数列表相同
    void sayHi() {
        System.out.println("大家好，我叫：" + name + ",今年" + age + "岁了，家住" + address
                          + "，所在班级为：" + className + "，学号为：" + stuID);

    }
}
